//JS获取url地址栏参数值
function UrlSearch() {
    var name, value;
    var str = location.href; //取得整个地址栏
    var num = str.indexOf("?");
    str = str.substr(num + 1); //取得所有参数   stringvar.substr(start [, length ]

    var arr = str.split("&"); //各个参数放到数组里
    for (var i = 0; i < arr.length; i++) {
        num = arr[i].indexOf("=");
        if (num > 0) {
            name = arr[i].substring(0, num);
            value = arr[i].substr(num + 1);
            this[name] = decodeURI(value);
        }
    }
}

/**
 * [desc] 获取从现在到 beforeDate 的时间
 * @param int beforeDate：只能是整数 正数表示beforeDate前 负数表示beforeDate后
 * @param String timeType：时间精度 Mi-分 H-小时 D-天  M-月
 * return 时间 格式是(yyyy-mm-dd HH:mi:ss 2017-06-30 09:17:01)
 */
function beforeNowDate(beforeDate,timeType){
    var date = new Date(); //日期对象
    switch (timeType){
        case "Mi":
            date.setMinutes (date.getMinutes () - beforeDate);
            break;
        case "H":
            date.setHours (date.getHours () - beforeDate);
            break;
        case "D":
            date.setDate (date.getDate () - beforeDate);
            break;
        case "M":
            date.setMonth (date.getMonth () - beforeDate);
            break;
        default:
            break;
    }

    var now = "";
    now = date.getFullYear()+"-"; //读英文就行了
    now = now + (date.getMonth()+1 < 10 ? '0'+(date.getMonth()+1) : date.getMonth()+1) + '-';//取月的时候取的是当前月-1如果想取当前月+1就可以了
    now = now + (date.getDate() < 10 ? '0'+date.getDate() : date.getDate())+" ";
    now = now + (date.getHours() < 10 ? '0'+date.getHours() : date.getHours()) +":";
    now = now + (date.getMinutes() < 10 ? '0'+date.getMinutes() : date.getMinutes()) +":";
    now = now + (date.getSeconds() < 10 ? '0'+date.getSeconds() : date.getSeconds()) +"";
    return now;
}

function parseList(list){
        //创建一个对象命名为map
        var map = {};
        var level = 0;
        var count = 0;//判断跟节点是否是省节点
        for(var i=0;i<list.length;i++){
            if(list[i].nodeLvl == 1){
                level = 1;
            }
            if(list[i].nodeLvl == 2){
                count++;
            }
        }
        //通过遍历把list中的元素放到map对象中
        list.forEach(function(item){
            if(!map[item.nodeId]){
            //核心步骤1：map中的'item.id'属性指向list数组中的对象元素
                map[item.nodeId]=item;
            }
        });
        if(level == 1 && count >= 0){//全国节点
            level = 1;
        }else if(level == 0 && count == 1){//省节点
            level = 2;
        }else{//地市节点
            level = 3;
        }
        //再次遍历为了对map属性所指的对象进行处理
        list.forEach(function(item){
            //过滤父级id不是null的元素
            if(item.nodeLvl!=level){
                //map[item.pid]为该元素的父级元素
                map[item.parentId].children ? map[item.parentId].children.push(item):map[item.parentId].children=[item];
            }
        });
        //过滤后仅剩下根节点
        return list.filter(function(item){
            if(item.nodeLvl==level){
                return item;
            } 
        });   
    }

export{//暴露方法
    UrlSearch,
    beforeNowDate,
    parseList
}